/**
 * This is a generated class and is not intended for modfication.  To customize behavior
 * of this value object you may modify the generated sub-class of this class - Constructions.as.
 */

package valueObjects
{
import com.adobe.fiber.services.IFiberManagingService;
import com.adobe.fiber.valueobjects.IValueObject;
import flash.events.Event;
import flash.events.EventDispatcher;
import mx.events.PropertyChangeEvent;

import flash.net.registerClassAlias;
import flash.net.getClassByAlias;
import com.adobe.fiber.core.model_internal;
import com.adobe.fiber.valueobjects.IPropertyIterator;
import com.adobe.fiber.valueobjects.AvailablePropertyIterator;

use namespace model_internal;

[ExcludeClass]
public class _Super_Constructions extends flash.events.EventDispatcher implements com.adobe.fiber.valueobjects.IValueObject
{
    model_internal static function initRemoteClassAliasSingle(cz:Class) : void 
    {
    }   
     
    model_internal static function initRemoteClassAliasAllRelated() : void 
    {
    }

	model_internal var _dminternal_model : _ConstructionsEntityMetadata;

	/**
	 * properties
	 */
	private var _internal_partnerFS : String;
	private var _internal_userFS : int;
	private var _internal_published : String;
	private var _internal_int_id_climate : String;
	private var _internal_int_id_kind : String;
	private var _internal_int_id_static : String;
	private var _internal_int_id_facade : String;
	private var _internal_int_id_construction : int;
	private var _internal_int_id_joint : String;
	private var _internal_int_id_no : String;
	private var _internal_int_id_localisation : String;
	private var _internal_version_nr : int;
	private var _internal_valid_since : Date;
	private var _internal_valid_to : Date;
	private var _internal_image : String;
	private var _internal_image_caption : String;
	private var _internal_url_dxf : String;
	private var _internal_url_dwg : String;
	private var _internal_url_pla : String;
	private var _internal_url_pdf : String;
	private var _internal_url_jpg : String;
	private var _internal_rw : String;
	private var _internal_lntw : String;
	private var _internal_rei : int;
	private var _internal_notes : String;
	private var _internal_physics : String;
	private var _internal_add_notes : String;
	private var _internal_rel_info : String;
	private var _internal_layer_a_dimensions : String;
	private var _internal_layer_b_dimensions : String;
	private var _internal_layer_c_dimensions : String;
	private var _internal_constr_id : int;
	private var _internal_u_value_a : Number;
	private var _internal_u_value_b : Number;
	private var _internal_layer_b_names : String;
	private var _internal_u_value_c : Number;
	private var _internal_u_value_d : Number;
	private var _internal_int_id_summary : String;
	private var _internal_system : String;
	private var _internal_name : String;
	private var _internal_layer_c_names : String;
	private var _internal_active_tab : int;
	private var _internal_layer_d_names : String;
	private var _internal_layer_d_dimensions : String;
	private var _internal_layer_a_names : String;

    private static var emptyArray:Array = new Array();

    /**
     * derived property cache initialization
     */  
    model_internal var _cacheInitialized_isValid:Boolean = false;   
    
	model_internal var _changeWatcherArray:Array = new Array();   

	public function _Super_Constructions() 
	{	
		_model = new _ConstructionsEntityMetadata(this);
	
		// Bind to own data properties for cache invalidation triggering  
       
	}

    /**
     * data property getters
     */
	[Bindable(event="propertyChange")] 
    public function get partnerFS() : String    
    {
            return _internal_partnerFS;
    }    
	[Bindable(event="propertyChange")] 
    public function get userFS() : int    
    {
            return _internal_userFS;
    }    
	[Bindable(event="propertyChange")] 
    public function get published() : String    
    {
            return _internal_published;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_climate() : String    
    {
            return _internal_int_id_climate;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_kind() : String    
    {
            return _internal_int_id_kind;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_static() : String    
    {
            return _internal_int_id_static;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_facade() : String    
    {
            return _internal_int_id_facade;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_construction() : int    
    {
            return _internal_int_id_construction;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_joint() : String    
    {
            return _internal_int_id_joint;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_no() : String    
    {
            return _internal_int_id_no;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_localisation() : String    
    {
            return _internal_int_id_localisation;
    }    
	[Bindable(event="propertyChange")] 
    public function get version_nr() : int    
    {
            return _internal_version_nr;
    }    
	[Bindable(event="propertyChange")] 
    public function get valid_since() : Date    
    {
            return _internal_valid_since;
    }    
	[Bindable(event="propertyChange")] 
    public function get valid_to() : Date    
    {
            return _internal_valid_to;
    }    
	[Bindable(event="propertyChange")] 
    public function get image() : String    
    {
            return _internal_image;
    }    
	[Bindable(event="propertyChange")] 
    public function get image_caption() : String    
    {
            return _internal_image_caption;
    }    
	[Bindable(event="propertyChange")] 
    public function get url_dxf() : String    
    {
            return _internal_url_dxf;
    }    
	[Bindable(event="propertyChange")] 
    public function get url_dwg() : String    
    {
            return _internal_url_dwg;
    }    
	[Bindable(event="propertyChange")] 
    public function get url_pla() : String    
    {
            return _internal_url_pla;
    }    
	[Bindable(event="propertyChange")] 
    public function get url_pdf() : String    
    {
            return _internal_url_pdf;
    }    
	[Bindable(event="propertyChange")] 
    public function get url_jpg() : String    
    {
            return _internal_url_jpg;
    }    
	[Bindable(event="propertyChange")] 
    public function get rw() : String    
    {
            return _internal_rw;
    }    
	[Bindable(event="propertyChange")] 
    public function get lntw() : String    
    {
            return _internal_lntw;
    }    
	[Bindable(event="propertyChange")] 
    public function get rei() : int    
    {
            return _internal_rei;
    }    
	[Bindable(event="propertyChange")] 
    public function get notes() : String    
    {
            return _internal_notes;
    }    
	[Bindable(event="propertyChange")] 
    public function get physics() : String    
    {
            return _internal_physics;
    }    
	[Bindable(event="propertyChange")] 
    public function get add_notes() : String    
    {
            return _internal_add_notes;
    }    
	[Bindable(event="propertyChange")] 
    public function get rel_info() : String    
    {
            return _internal_rel_info;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_a_dimensions() : String    
    {
            return _internal_layer_a_dimensions;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_b_dimensions() : String    
    {
            return _internal_layer_b_dimensions;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_c_dimensions() : String    
    {
            return _internal_layer_c_dimensions;
    }    
	[Bindable(event="propertyChange")] 
    public function get constr_id() : int    
    {
            return _internal_constr_id;
    }    
	[Bindable(event="propertyChange")] 
    public function get u_value_a() : Number    
    {
            return _internal_u_value_a;
    }    
	[Bindable(event="propertyChange")] 
    public function get u_value_b() : Number    
    {
            return _internal_u_value_b;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_b_names() : String    
    {
            return _internal_layer_b_names;
    }    
	[Bindable(event="propertyChange")] 
    public function get u_value_c() : Number    
    {
            return _internal_u_value_c;
    }    
	[Bindable(event="propertyChange")] 
    public function get u_value_d() : Number    
    {
            return _internal_u_value_d;
    }    
	[Bindable(event="propertyChange")] 
    public function get int_id_summary() : String    
    {
            return _internal_int_id_summary;
    }    
	[Bindable(event="propertyChange")] 
    public function get system() : String    
    {
            return _internal_system;
    }    
	[Bindable(event="propertyChange")] 
    public function get name() : String    
    {
            return _internal_name;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_c_names() : String    
    {
            return _internal_layer_c_names;
    }    
	[Bindable(event="propertyChange")] 
    public function get active_tab() : int    
    {
            return _internal_active_tab;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_d_names() : String    
    {
            return _internal_layer_d_names;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_d_dimensions() : String    
    {
            return _internal_layer_d_dimensions;
    }    
	[Bindable(event="propertyChange")] 
    public function get layer_a_names() : String    
    {
            return _internal_layer_a_names;
    }    

    /**
     * data property setters
     */      
    public function set partnerFS(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_partnerFS == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_partnerFS;               
        if (oldValue !== value)
        {
            _internal_partnerFS = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "partnerFS", oldValue, _internal_partnerFS));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set userFS(value:int) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:int = _internal_userFS;               
        if (oldValue !== value)
        {
            _internal_userFS = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "userFS", oldValue, _internal_userFS));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set published(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_published == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_published;               
        if (oldValue !== value)
        {
            _internal_published = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "published", oldValue, _internal_published));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_climate(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_climate == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_climate;               
        if (oldValue !== value)
        {
            _internal_int_id_climate = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_climate", oldValue, _internal_int_id_climate));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_kind(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_kind == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_kind;               
        if (oldValue !== value)
        {
            _internal_int_id_kind = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_kind", oldValue, _internal_int_id_kind));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_static(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_static == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_static;               
        if (oldValue !== value)
        {
            _internal_int_id_static = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_static", oldValue, _internal_int_id_static));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_facade(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_facade == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_facade;               
        if (oldValue !== value)
        {
            _internal_int_id_facade = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_facade", oldValue, _internal_int_id_facade));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_construction(value:int) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:int = _internal_int_id_construction;               
        if (oldValue !== value)
        {
            _internal_int_id_construction = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_construction", oldValue, _internal_int_id_construction));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_joint(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_joint == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_joint;               
        if (oldValue !== value)
        {
            _internal_int_id_joint = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_joint", oldValue, _internal_int_id_joint));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_no(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_no == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_no;               
        if (oldValue !== value)
        {
            _internal_int_id_no = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_no", oldValue, _internal_int_id_no));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_localisation(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_localisation == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_localisation;               
        if (oldValue !== value)
        {
            _internal_int_id_localisation = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_localisation", oldValue, _internal_int_id_localisation));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set version_nr(value:int) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:int = _internal_version_nr;               
        if (oldValue !== value)
        {
            _internal_version_nr = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "version_nr", oldValue, _internal_version_nr));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set valid_since(value:Date) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_valid_since == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:Date = _internal_valid_since;               
        if (oldValue !== value)
        {
            _internal_valid_since = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "valid_since", oldValue, _internal_valid_since));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set valid_to(value:Date) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_valid_to == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:Date = _internal_valid_to;               
        if (oldValue !== value)
        {
            _internal_valid_to = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "valid_to", oldValue, _internal_valid_to));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set image(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_image == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_image;               
        if (oldValue !== value)
        {
            _internal_image = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "image", oldValue, _internal_image));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set image_caption(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_image_caption == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_image_caption;               
        if (oldValue !== value)
        {
            _internal_image_caption = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "image_caption", oldValue, _internal_image_caption));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set url_dxf(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_url_dxf == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_url_dxf;               
        if (oldValue !== value)
        {
            _internal_url_dxf = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_dxf", oldValue, _internal_url_dxf));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set url_dwg(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_url_dwg == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_url_dwg;               
        if (oldValue !== value)
        {
            _internal_url_dwg = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_dwg", oldValue, _internal_url_dwg));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set url_pla(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_url_pla == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_url_pla;               
        if (oldValue !== value)
        {
            _internal_url_pla = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_pla", oldValue, _internal_url_pla));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set url_pdf(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_url_pdf == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_url_pdf;               
        if (oldValue !== value)
        {
            _internal_url_pdf = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_pdf", oldValue, _internal_url_pdf));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set url_jpg(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_url_jpg == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_url_jpg;               
        if (oldValue !== value)
        {
            _internal_url_jpg = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_jpg", oldValue, _internal_url_jpg));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set rw(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_rw == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_rw;               
        if (oldValue !== value)
        {
            _internal_rw = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "rw", oldValue, _internal_rw));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set lntw(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_lntw == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_lntw;               
        if (oldValue !== value)
        {
            _internal_lntw = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "lntw", oldValue, _internal_lntw));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set rei(value:int) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:int = _internal_rei;               
        if (oldValue !== value)
        {
            _internal_rei = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "rei", oldValue, _internal_rei));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set notes(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_notes == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_notes;               
        if (oldValue !== value)
        {
            _internal_notes = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "notes", oldValue, _internal_notes));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set physics(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_physics == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_physics;               
        if (oldValue !== value)
        {
            _internal_physics = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "physics", oldValue, _internal_physics));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set add_notes(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_add_notes == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_add_notes;               
        if (oldValue !== value)
        {
            _internal_add_notes = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "add_notes", oldValue, _internal_add_notes));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set rel_info(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_rel_info == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_rel_info;               
        if (oldValue !== value)
        {
            _internal_rel_info = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "rel_info", oldValue, _internal_rel_info));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_a_dimensions(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_a_dimensions == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_a_dimensions;               
        if (oldValue !== value)
        {
            _internal_layer_a_dimensions = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_a_dimensions", oldValue, _internal_layer_a_dimensions));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_b_dimensions(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_b_dimensions == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_b_dimensions;               
        if (oldValue !== value)
        {
            _internal_layer_b_dimensions = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_b_dimensions", oldValue, _internal_layer_b_dimensions));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_c_dimensions(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_c_dimensions == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_c_dimensions;               
        if (oldValue !== value)
        {
            _internal_layer_c_dimensions = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_c_dimensions", oldValue, _internal_layer_c_dimensions));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set constr_id(value:int) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:int = _internal_constr_id;               
        if (oldValue !== value)
        {
            _internal_constr_id = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "constr_id", oldValue, _internal_constr_id));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set u_value_a(value:Number) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:Number = _internal_u_value_a;               
        if (oldValue !== value)
        {
            _internal_u_value_a = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_a", oldValue, _internal_u_value_a));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set u_value_b(value:Number) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:Number = _internal_u_value_b;               
        if (oldValue !== value)
        {
            _internal_u_value_b = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_b", oldValue, _internal_u_value_b));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_b_names(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_b_names == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_b_names;               
        if (oldValue !== value)
        {
            _internal_layer_b_names = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_b_names", oldValue, _internal_layer_b_names));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set u_value_c(value:Number) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:Number = _internal_u_value_c;               
        if (oldValue !== value)
        {
            _internal_u_value_c = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_c", oldValue, _internal_u_value_c));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set u_value_d(value:Number) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:Number = _internal_u_value_d;               
        if (oldValue !== value)
        {
            _internal_u_value_d = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_d", oldValue, _internal_u_value_d));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set int_id_summary(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_int_id_summary == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_int_id_summary;               
        if (oldValue !== value)
        {
            _internal_int_id_summary = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_summary", oldValue, _internal_int_id_summary));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set system(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_system == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_system;               
        if (oldValue !== value)
        {
            _internal_system = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "system", oldValue, _internal_system));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set name(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_name == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_name;               
        if (oldValue !== value)
        {
            _internal_name = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, _internal_name));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_c_names(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_c_names == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_c_names;               
        if (oldValue !== value)
        {
            _internal_layer_c_names = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_c_names", oldValue, _internal_layer_c_names));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set active_tab(value:int) : void 
    {    	
        var recalcValid:Boolean = false;
    	
    	
    	var oldValue:int = _internal_active_tab;               
        if (oldValue !== value)
        {
            _internal_active_tab = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "active_tab", oldValue, _internal_active_tab));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_d_names(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_d_names == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_d_names;               
        if (oldValue !== value)
        {
            _internal_layer_d_names = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_d_names", oldValue, _internal_layer_d_names));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_d_dimensions(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_d_dimensions == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_d_dimensions;               
        if (oldValue !== value)
        {
            _internal_layer_d_dimensions = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_d_dimensions", oldValue, _internal_layer_d_dimensions));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    
    public function set layer_a_names(value:String) : void 
    {    	
        var recalcValid:Boolean = false;
    	if (value == null || _internal_layer_a_names == null)
    	{
    		recalcValid = true;
    	}	
    	
    	
    	var oldValue:String = _internal_layer_a_names;               
        if (oldValue !== value)
        {
            _internal_layer_a_names = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_a_names", oldValue, _internal_layer_a_names));
        }    	     
        
        if (recalcValid && model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }  
    }    

    /**
     * data property setter listeners
     */   

   model_internal function setterListenerAnyConstraint(value:flash.events.Event):void
   {
        if (model_internal::_cacheInitialized_isValid)
        {
            model_internal::isValid_der = model_internal::calculateIsValid();
        }        
   }   

    /**
     * valid related derived properties
     */
    model_internal var _isValid : Boolean;
    model_internal var _invalidConstraints:Array = new Array();
    model_internal var _validationFailureMessages:Array = new Array();

    /**
     * derived property calculators
     */

    /**
     * isValid calculator
     */
    model_internal function calculateIsValid():Boolean
    {
        var violatedConsts:Array = new Array();    
        var validationFailureMessages:Array = new Array();    

		if (_model.isPartnerFSAvailable && _internal_partnerFS == null)
		{
			violatedConsts.push("partnerFSIsRequired");
			validationFailureMessages.push("partnerFS is required");
		}
		if (_model.isPublishedAvailable && _internal_published == null)
		{
			violatedConsts.push("publishedIsRequired");
			validationFailureMessages.push("published is required");
		}
		if (_model.isInt_id_climateAvailable && _internal_int_id_climate == null)
		{
			violatedConsts.push("int_id_climateIsRequired");
			validationFailureMessages.push("int_id_climate is required");
		}
		if (_model.isInt_id_kindAvailable && _internal_int_id_kind == null)
		{
			violatedConsts.push("int_id_kindIsRequired");
			validationFailureMessages.push("int_id_kind is required");
		}
		if (_model.isInt_id_staticAvailable && _internal_int_id_static == null)
		{
			violatedConsts.push("int_id_staticIsRequired");
			validationFailureMessages.push("int_id_static is required");
		}
		if (_model.isInt_id_facadeAvailable && _internal_int_id_facade == null)
		{
			violatedConsts.push("int_id_facadeIsRequired");
			validationFailureMessages.push("int_id_facade is required");
		}
		if (_model.isInt_id_jointAvailable && _internal_int_id_joint == null)
		{
			violatedConsts.push("int_id_jointIsRequired");
			validationFailureMessages.push("int_id_joint is required");
		}
		if (_model.isInt_id_noAvailable && _internal_int_id_no == null)
		{
			violatedConsts.push("int_id_noIsRequired");
			validationFailureMessages.push("int_id_no is required");
		}
		if (_model.isInt_id_localisationAvailable && _internal_int_id_localisation == null)
		{
			violatedConsts.push("int_id_localisationIsRequired");
			validationFailureMessages.push("int_id_localisation is required");
		}
		if (_model.isValid_sinceAvailable && _internal_valid_since == null)
		{
			violatedConsts.push("valid_sinceIsRequired");
			validationFailureMessages.push("valid_since is required");
		}
		if (_model.isValid_toAvailable && _internal_valid_to == null)
		{
			violatedConsts.push("valid_toIsRequired");
			validationFailureMessages.push("valid_to is required");
		}
		if (_model.isImageAvailable && _internal_image == null)
		{
			violatedConsts.push("imageIsRequired");
			validationFailureMessages.push("image is required");
		}
		if (_model.isImage_captionAvailable && _internal_image_caption == null)
		{
			violatedConsts.push("image_captionIsRequired");
			validationFailureMessages.push("image_caption is required");
		}
		if (_model.isUrl_dxfAvailable && _internal_url_dxf == null)
		{
			violatedConsts.push("url_dxfIsRequired");
			validationFailureMessages.push("url_dxf is required");
		}
		if (_model.isUrl_dwgAvailable && _internal_url_dwg == null)
		{
			violatedConsts.push("url_dwgIsRequired");
			validationFailureMessages.push("url_dwg is required");
		}
		if (_model.isUrl_plaAvailable && _internal_url_pla == null)
		{
			violatedConsts.push("url_plaIsRequired");
			validationFailureMessages.push("url_pla is required");
		}
		if (_model.isUrl_pdfAvailable && _internal_url_pdf == null)
		{
			violatedConsts.push("url_pdfIsRequired");
			validationFailureMessages.push("url_pdf is required");
		}
		if (_model.isUrl_jpgAvailable && _internal_url_jpg == null)
		{
			violatedConsts.push("url_jpgIsRequired");
			validationFailureMessages.push("url_jpg is required");
		}
		if (_model.isRwAvailable && _internal_rw == null)
		{
			violatedConsts.push("rwIsRequired");
			validationFailureMessages.push("rw is required");
		}
		if (_model.isLntwAvailable && _internal_lntw == null)
		{
			violatedConsts.push("lntwIsRequired");
			validationFailureMessages.push("lntw is required");
		}
		if (_model.isNotesAvailable && _internal_notes == null)
		{
			violatedConsts.push("notesIsRequired");
			validationFailureMessages.push("notes is required");
		}
		if (_model.isPhysicsAvailable && _internal_physics == null)
		{
			violatedConsts.push("physicsIsRequired");
			validationFailureMessages.push("physics is required");
		}
		if (_model.isAdd_notesAvailable && _internal_add_notes == null)
		{
			violatedConsts.push("add_notesIsRequired");
			validationFailureMessages.push("add_notes is required");
		}
		if (_model.isRel_infoAvailable && _internal_rel_info == null)
		{
			violatedConsts.push("rel_infoIsRequired");
			validationFailureMessages.push("rel_info is required");
		}
		if (_model.isLayer_a_dimensionsAvailable && _internal_layer_a_dimensions == null)
		{
			violatedConsts.push("layer_a_dimensionsIsRequired");
			validationFailureMessages.push("layer_a_dimensions is required");
		}
		if (_model.isLayer_b_dimensionsAvailable && _internal_layer_b_dimensions == null)
		{
			violatedConsts.push("layer_b_dimensionsIsRequired");
			validationFailureMessages.push("layer_b_dimensions is required");
		}
		if (_model.isLayer_c_dimensionsAvailable && _internal_layer_c_dimensions == null)
		{
			violatedConsts.push("layer_c_dimensionsIsRequired");
			validationFailureMessages.push("layer_c_dimensions is required");
		}
		if (_model.isLayer_b_namesAvailable && _internal_layer_b_names == null)
		{
			violatedConsts.push("layer_b_namesIsRequired");
			validationFailureMessages.push("layer_b_names is required");
		}
		if (_model.isInt_id_summaryAvailable && _internal_int_id_summary == null)
		{
			violatedConsts.push("int_id_summaryIsRequired");
			validationFailureMessages.push("int_id_summary is required");
		}
		if (_model.isSystemAvailable && _internal_system == null)
		{
			violatedConsts.push("systemIsRequired");
			validationFailureMessages.push("system is required");
		}
		if (_model.isNameAvailable && _internal_name == null)
		{
			violatedConsts.push("nameIsRequired");
			validationFailureMessages.push("name is required");
		}
		if (_model.isLayer_c_namesAvailable && _internal_layer_c_names == null)
		{
			violatedConsts.push("layer_c_namesIsRequired");
			validationFailureMessages.push("layer_c_names is required");
		}
		if (_model.isLayer_d_namesAvailable && _internal_layer_d_names == null)
		{
			violatedConsts.push("layer_d_namesIsRequired");
			validationFailureMessages.push("layer_d_names is required");
		}
		if (_model.isLayer_d_dimensionsAvailable && _internal_layer_d_dimensions == null)
		{
			violatedConsts.push("layer_d_dimensionsIsRequired");
			validationFailureMessages.push("layer_d_dimensions is required");
		}
		if (_model.isLayer_a_namesAvailable && _internal_layer_a_names == null)
		{
			violatedConsts.push("layer_a_namesIsRequired");
			validationFailureMessages.push("layer_a_names is required");
		}

		var styleValidity:Boolean = true;
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
    
        model_internal::_cacheInitialized_isValid = true;
        model_internal::invalidConstraints_der = violatedConsts;
        model_internal::validationFailureMessages_der = validationFailureMessages;
        return violatedConsts.length == 0 && styleValidity;
    }  

    /**
     * derived property setters
     */

    model_internal function set isValid_der(value:Boolean) : void
    {
       	var oldValue:Boolean = model_internal::_isValid;               
        if (oldValue !== value)
        {
        	model_internal::_isValid = value;
        	_model.model_internal::fireChangeEvent("isValid", oldValue, model_internal::_isValid);
        }        
    }

    /**
     * derived property getters
     */

    [Transient] 
	[Bindable(event="propertyChange")] 
    public function get _model() : _ConstructionsEntityMetadata
    {
		return model_internal::_dminternal_model;              
    }	
    
    public function set _model(value : _ConstructionsEntityMetadata) : void       
    {
    	var oldValue : _ConstructionsEntityMetadata = model_internal::_dminternal_model;               
        if (oldValue !== value)
        {
        	model_internal::_dminternal_model = value;
        	this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "_model", oldValue, model_internal::_dminternal_model));
        }     
    }      

    /**
     * methods
     */  


    /**
     *  services
     */                  
     private var _managingService:com.adobe.fiber.services.IFiberManagingService;
    
     public function set managingService(managingService:com.adobe.fiber.services.IFiberManagingService):void
     {
         _managingService = managingService;
     }                      
     
    model_internal function set invalidConstraints_der(value:Array) : void
    {  
     	var oldValue:Array = model_internal::_invalidConstraints;
     	// avoid firing the event when old and new value are different empty arrays
        if (oldValue !== value && (oldValue.length > 0 || value.length > 0))
        {
            model_internal::_invalidConstraints = value;   
			_model.model_internal::fireChangeEvent("invalidConstraints", oldValue, model_internal::_invalidConstraints);   
        }     	             
    }             
    
     model_internal function set validationFailureMessages_der(value:Array) : void
    {  
     	var oldValue:Array = model_internal::_validationFailureMessages;
     	// avoid firing the event when old and new value are different empty arrays
        if (oldValue !== value && (oldValue.length > 0 || value.length > 0))
        {
            model_internal::_validationFailureMessages = value;   
			_model.model_internal::fireChangeEvent("validationFailureMessages", oldValue, model_internal::_validationFailureMessages);   
        }     	             
    }        
     
     // Individual isAvailable functions     
	// fields, getters, and setters for primitive representations of complex id properties

}

}
